#include<stdio.h>

int strlen(const char * s)
{
    if(!(*s))
    {
        return 0;
    }
    return 1 + strlen(s + 1);//递归计算当地址计算到了对应的，终止，就开始返回
}
int my_strlen(const char * s)
{
    const char * tem = s;//使用临时变量进行循环，这样可以不用影响初始位置
    while(*tem)//如果没有遇到'\0',那就继续循环
    {
        tem++;//指针向后移动
    }
    return tem - s;//终点指针减去初始指针得到移动长度

}
int my_strlen1(const char * s)
{
    int cnt = 0;//创建计数变量
    while(*s)//如果不是终止的标志就继续进行循环
    {
        s++;
        cnt ++;//计数器自增
    }
    return cnt;
}
int main()
{
    char s[10];
    scanf("%s",s);
    printf("strlen: %d\n",my_strlen1(s));
    return 0;
}